查看原文
其他

Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!

翟永超 程序猿DD 2020-10-16

点击蓝色“程序猿DD”关注我哟

加个“星标”,不忘签到哦





在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本。该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些内容值得我们关注。

版本变化

之前在《Spring Cloud Alibaba与Spring Boot、Spring Cloud之间不得不说的版本关系》一文中,我有提到过当前版本的Spring Cloud Alibaba还处于孵化器中,没有纳入Spring Cloud的主线版本。所以,我们在使用的时候需要明确Spring Boot、Spring Cloud主版本以及Spring Cloud Alibaba之间的版本关系。

这次的更新,在版本上与我之前文章中说的0.2.2来支持Greenwich有所区别。这里纠正一下,对于Greenwich版本的支持采用了0.9.x的版本号来对应,所以Spring Boot 、Spring Cloud、Spring Cloud Alibaba三者之间的准确关系如下表所示:

Spring BootSpring CloudSpring Cloud Alibaba
2.1.xGreenwich0.9.x
2.0.xFinchley0.2.x
1.5.xEdgware0.1.x
1.5.xDalston0.1.x

模块新增

这次新版本中,最值得关注的应该就是下面这几个新模块的加入了。之前我说过非常看好Spring Cloud Alibaba,下面新增的几个模块就是主要原因之一。

spring-cloud-alibaba-dubbo

对于Dubbo的支持,我觉得对于国内用户来说,是非常有意义的。由于Dubbo在过去一段时间对国内行业的渗透非常广,至今依然有很多团队在使用着这个老牌RPC。但是,由于Dubbo只是一个单纯的RPC框架,它不像Spring Cloud这样,拥有不错的生态,在外围设施的对接支持上做了非常多的努力,使得我们在使用Spring Cloud的时候,可以很快的体系化我们的基础设施。

现在,Spring Cloud Alibaba将Dubbo融入Spring Cloud体系,可以让其一起享受Spring Cloud生态的各种便利。对于原来的Dubbo用户来说,该模块的加入为原Dubbo用户拥抱Spring Cloud生态提供了非常好的支持,可以大大减少用户自己融入需要做的扩展工作量。

为什么说这个模块好呢?看看下面几个与Spring Cloud生态融合的重要功能:

  • 支持所有Spring Cloud的注册中心实现,包括Spring Cloud Alibaba中整合的Nacos。也就是说,以前我们自己在整合Spring Cloud和Dubbo来使用的时候,如果不去为Dubbo扩展注册中心,那么就不得不采用Eureka + Zookeeper同时存在的复杂架构。现在,在这个模块的帮助下,注册中心就可以得到统一。

  • 支持RestTemplate,开发者只需要在定义RestTemplate的 @Bean注解上搭配使用 @DubboTransported注解,就能将这个客户端直接支持Dubbo调用。

  • 支持Feign,开发者只需要在 @FeignClient注解上搭配使用 @DubboTransported,就能将Feign客户端变成Dubbo的客户端。这样的设计,对于传统Spring Cloud用户来说,是不是也非常容易接受呢?

如果您的团队还在坚持使用Dubbo,又很想引入Spring Cloud,那么不妨移步来尝试一下Spring Cloud Alibaba的最新版本吧!

注意:该模块没有发布到0.1.2中,所以只有0.2.2和0.9.0中才拥有。也就是说,仅支持Spring Boot 2.x和Spring Cloud Finchley版和Greenwich版。

spring-cloud-alibaba-seata

Seata是Alibaba与蚂蚁金融共建的一个开源分布式事务解决方案。通过该模块的加入,可以非常方便的在Spring MVC、RestTemplate、FeignClient的调用中传递事务上下文,同时也支持与Hystrix、Sentinel的联合使用。全方面的打通Spring Cloud生态的分布式事务场景。

这个框架我还没有深入的研究过,后续我也会将这部分内容的学习写到《Spring Cloud Alibaba基础教程》中与大家分享心得与经验。如果对这个感兴趣的,记得关注我哟。

spring-cloud-alibaba-sentinel-zuul

在该模块中定义了一些为Zuul定制的过滤器:SentinelPreFilterSentinelPostFilterSentinelErrorFilter。通过它们来为Zuul实现网关层的请求流量控制。用户可以通过 spring.cloud.sentinel.zuul.参数来配置这些Sentinel过滤器。

spring-cloud-alibaba-sms

SMS是阿里云的商业化产品。所以该模块类之前的SchedulerX模块,OSS模块类似,主要为了更方便的整合使用而存在。如果是Spring Cloud用户,同时也是阿里云这些产品的用户,那么直接使用还是非常方便的。但是如果这两个条件都不满足,那么可以忽略之。

模块升级

在该版本中对于一些重要的基础设施模块也做了大幅度的版本升级,包括:

  • Nacos:从0.6.2升级到1.0.0

  • Sentinel:从1.4.0升级到1.5.2

对于模块功能升级主要与模块整合对象的自身版本有关,所以对于这部分的内容读者可以查阅Nacos 1.0.0的文档以及Sentinel 1.5.2的文档来进一步新增功能。

而对于Spring Cloud Alibaba对其整合新增的配置或注解使用,可以见本文参考资料链接看看更新了什么内容,这里就不做具体介绍了。

最后欢迎留言参与讨论,说说您对Spring Cloud Alibaba新版本的看法吧!

参考资料

  • 《Preview releases of Spring Cloud Alibaba are available: 0.9.0, 0.2.2, and 0.1.2》:http://t.cn/Eay8ZJF

专题推荐

  • Spring Boot基础教程:http://t.cn/RWlTbwJ

  • Spring Cloud基础教程:http://t.cn/Ef8vEd7

系列回顾


推荐阅读


号外:最近整理了之前编写的一系列内容做成了PDF,关注我并回复相应口令获取:

001领取《Spring Boot基础教程》

002领取《Spring Cloud基础教程》


自律到极致 - 人生才精致:第4期”正在筹备中

关注我,加个星标,不忘签到哦~


2019

与大家聊聊技术人的斜杠生活

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存